var runtime.sched

426 uses

	runtime (current package)
		cgocall.go#L421: 	hz := sched.profilehz
		debug.go#L21: 	lock(&sched.lock)
		debug.go#L23: 	unlock(&sched.lock)
		debug.go#L56: 	total := sched.totalMutexWaitTime.Load()
		debug.go#L58: 	total += sched.totalRuntimeLockWaitTime.Load()
		debugcall.go#L247: 		lock(&sched.lock)
		debugcall.go#L249: 		unlock(&sched.lock)
		metrics.go#L321: 				sched.stwTotalTimeGC.write(out)
		metrics.go#L447: 				sched.timeToRun.write(out)
		metrics.go#L452: 				sched.stwStoppingTimeGC.write(out)
		metrics.go#L457: 				sched.stwStoppingTimeOther.write(out)
		metrics.go#L462: 				sched.stwTotalTimeGC.write(out)
		metrics.go#L467: 				sched.stwTotalTimeOther.write(out)
		mgc.go#L1120: 	sched.idleTime.Store(0)
		mgc.go#L1498: 						lock(&sched.lock)
		mgc.go#L1500: 						unlock(&sched.lock)
		mgc.go#L1811: 	lock(&sched.sudoglock)
		mgc.go#L1813: 	for sg = sched.sudogcache; sg != nil; sg = sgnext {
		mgc.go#L1817: 	sched.sudogcache = nil
		mgc.go#L1818: 	unlock(&sched.sudoglock)
		mgc.go#L1822: 	lock(&sched.deferlock)
		mgc.go#L1826: 	for d = sched.deferpool; d != nil; d = dlink {
		mgc.go#L1830: 	sched.deferpool = nil
		mgc.go#L1831: 	unlock(&sched.deferlock)
		mgclimit.go#L216: 				sched.idleTime.Add(duration)
		mgclimit.go#L477: 		sched.idleTime.Add(duration)
		mgcmark.go#L293: 	lock(&sched.gFree.lock)
		mgcmark.go#L294: 	list := sched.gFree.stack
		mgcmark.go#L295: 	sched.gFree.stack = gList{}
		mgcmark.go#L296: 	unlock(&sched.gFree.lock)
		mgcmark.go#L313: 	lock(&sched.gFree.lock)
		mgcmark.go#L314: 	sched.gFree.noStack.pushAll(q)
		mgcmark.go#L315: 	unlock(&sched.gFree.lock)
		mgcmark.go#L1183: 		for !(gp.preempt && (preemptible || sched.gcwaiting.Load() || pp.runSafePointFn != 0)) {
		mgcmark.go#L1205: 	for !(gp.preempt && (preemptible || sched.gcwaiting.Load() || pp.runSafePointFn != 0)) {
		mstats.go#L461: 		lock(&sched.sysmonlock)
		mstats.go#L501: 		unlock(&sched.sysmonlock)
		mstats.go#L975: 	s.TotalTime = sched.totaltime + (now-sched.procresizetime)*int64(gomaxprocs)
		mstats.go#L976: 	s.IdleTime += sched.idleTime.Load()
		panic.go#L525: 	if len(pp.deferpool) == 0 && sched.deferpool != nil {
		panic.go#L526: 		lock(&sched.deferlock)
		panic.go#L527: 		for len(pp.deferpool) < cap(pp.deferpool)/2 && sched.deferpool != nil {
		panic.go#L528: 			d := sched.deferpool
		panic.go#L529: 			sched.deferpool = d.link
		panic.go#L533: 		unlock(&sched.deferlock)
		panic.go#L584: 		lock(&sched.deferlock)
		panic.go#L585: 		last.link = sched.deferpool
		panic.go#L586: 		sched.deferpool = first
		panic.go#L587: 		unlock(&sched.deferlock)
		proc.go#L373: 	if !gp.preempt && sched.npidle.Load() > 0 {
		proc.go#L462: 		lock(&sched.sudoglock)
		proc.go#L464: 		for len(pp.sudogcache) < cap(pp.sudogcache)/2 && sched.sudogcache != nil {
		proc.go#L465: 			s := sched.sudogcache
		proc.go#L466: 			sched.sudogcache = s.next
		proc.go#L470: 		unlock(&sched.sudoglock)
		proc.go#L528: 		lock(&sched.sudoglock)
		proc.go#L529: 		last.next = sched.sudogcache
		proc.go#L530: 		sched.sudogcache = first
		proc.go#L531: 		unlock(&sched.sudoglock)
		proc.go#L783: 	lockInit(&sched.lock, lockRankSched)
		proc.go#L784: 	lockInit(&sched.sysmonlock, lockRankSysmon)
		proc.go#L785: 	lockInit(&sched.deferlock, lockRankDefer)
		proc.go#L786: 	lockInit(&sched.sudoglock, lockRankSudog)
		proc.go#L809: 	sched.maxmcount = 10000
		proc.go#L856: 	lock(&sched.lock)
		proc.go#L857: 	sched.lastpoll.Store(nanotime())
		proc.go#L865: 	unlock(&sched.lock)
		proc.go#L890: 	assertLockHeld(&sched.lock)
		proc.go#L901: 	if count > sched.maxmcount {
		proc.go#L902: 		print("runtime: program exceeds ", sched.maxmcount, "-thread limit\n")
		proc.go#L912: 	assertLockHeld(&sched.lock)
		proc.go#L914: 	if sched.mnext+1 < sched.mnext {
		proc.go#L917: 	id := sched.mnext
		proc.go#L918: 	sched.mnext++
		proc.go#L932: 	lock(&sched.lock)
		proc.go#L954: 	unlock(&sched.lock)
		proc.go#L999: 	sched.nmspinning.Add(1)
		proc.go#L1000: 	sched.needspinning.Store(0)
		proc.go#L1091: 		sched.stopwait = freezeStopWait
		proc.go#L1092: 		sched.gcwaiting.Store(true)
		proc.go#L1249: 		sched.totalMutexWaitTime.Add((now - gp.trackingStamp) * gTrackingPeriod)
		proc.go#L1271: 		sched.timeToRun.record(gp.runnableTime)
		proc.go#L1558: 	lock(&sched.lock)
		proc.go#L1560: 	sched.stopwait = gomaxprocs
		proc.go#L1561: 	sched.gcwaiting.Store(true)
		proc.go#L1566: 	sched.stopwait--
		proc.go#L1577: 			sched.stopwait--
		proc.go#L1593: 		sched.stopwait--
		proc.go#L1595: 	wait := sched.stopwait > 0
		proc.go#L1596: 	unlock(&sched.lock)
		proc.go#L1602: 			if notetsleep(&sched.stopnote, 100*1000) {
		proc.go#L1603: 				noteclear(&sched.stopnote)
		proc.go#L1613: 		sched.stwStoppingTimeGC.record(startTime)
		proc.go#L1615: 		sched.stwStoppingTimeOther.record(startTime)
		proc.go#L1624: 	if sched.stopwait != 0 {
		proc.go#L1678: 	lock(&sched.lock)
		proc.go#L1686: 	sched.gcwaiting.Store(false)
		proc.go#L1687: 	if sched.sysmonwait.Load() {
		proc.go#L1688: 		sched.sysmonwait.Store(false)
		proc.go#L1689: 		notewakeup(&sched.sysmonnote)
		proc.go#L1691: 	unlock(&sched.lock)
		proc.go#L1718: 		sched.stwTotalTimeGC.record(totalTime)
		proc.go#L1720: 		sched.stwTotalTimeOther.record(totalTime)
		proc.go#L1906: 		lock(&sched.lock)
		proc.go#L1907: 		sched.nmfreed++
		proc.go#L1909: 		unlock(&sched.lock)
		proc.go#L1928: 	lock(&sched.lock)
		proc.go#L1952: 	mp.freelink = sched.freem
		proc.go#L1953: 	sched.freem = mp
		proc.go#L1954: 	unlock(&sched.lock)
		proc.go#L1957: 	sched.totalRuntimeLockWaitTime.Add(mp.mLockProfile.waitTime.Load())
		proc.go#L1966: 	lock(&sched.lock)
		proc.go#L1967: 	sched.nmfreed++
		proc.go#L1969: 	unlock(&sched.lock)
		proc.go#L2047: 	lock(&sched.lock)
		proc.go#L2048: 	if sched.safePointWait != 0 {
		proc.go#L2051: 	sched.safePointWait = gomaxprocs - 1
		proc.go#L2052: 	sched.safePointFn = fn
		proc.go#L2068: 	for p := sched.pidle.ptr(); p != nil; p = p.link.ptr() {
		proc.go#L2071: 			sched.safePointWait--
		proc.go#L2075: 	wait := sched.safePointWait > 0
		proc.go#L2076: 	unlock(&sched.lock)
		proc.go#L2109: 			if notetsleep(&sched.safePointNote, 100*1000) {
		proc.go#L2110: 				noteclear(&sched.safePointNote)
		proc.go#L2116: 	if sched.safePointWait != 0 {
		proc.go#L2125: 	lock(&sched.lock)
		proc.go#L2126: 	sched.safePointFn = nil
		proc.go#L2127: 	unlock(&sched.lock)
		proc.go#L2150: 	sched.safePointFn(p)
		proc.go#L2151: 	lock(&sched.lock)
		proc.go#L2152: 	sched.safePointWait--
		proc.go#L2153: 	if sched.safePointWait == 0 {
		proc.go#L2154: 		notewakeup(&sched.safePointNote)
		proc.go#L2156: 	unlock(&sched.lock)
		proc.go#L2194: 	if sched.freem != nil {
		proc.go#L2195: 		lock(&sched.lock)
		proc.go#L2197: 		for freem := sched.freem; freem != nil; {
		proc.go#L2226: 		sched.freem = newList
		proc.go#L2227: 		unlock(&sched.lock)
		proc.go#L2363: 	sched.ngsys.Add(-1)
		proc.go#L2430: 	gp.goid = sched.goidgen.Add(1)
		proc.go#L2441: 	sched.ngsys.Add(1)
		proc.go#L2498: 	sched.ngsys.Add(1)
		proc.go#L2537: 		lock(&sched.lock)
		proc.go#L2539: 		unlock(&sched.lock)
		proc.go#L2860: 	lock(&sched.lock)
		proc.go#L2861: 	sched.nmsys++
		proc.go#L2863: 	unlock(&sched.lock)
		proc.go#L2901: 	lock(&sched.lock)
		proc.go#L2903: 	unlock(&sched.lock)
		proc.go#L2950: 		lock(&sched.lock)
		proc.go#L2962: 				unlock(&sched.lock)
		proc.go#L2985: 		unlock(&sched.lock)
		proc.go#L2995: 			lock(&sched.lock)
		proc.go#L3003: 		unlock(&sched.lock)
		proc.go#L3032: 	if !runqempty(pp) || sched.runqsize != 0 {
		proc.go#L3048: 	if sched.nmspinning.Load()+sched.npidle.Load() == 0 && sched.nmspinning.CompareAndSwap(0, 1) { // TODO: fast atomic
		proc.go#L3049: 		sched.needspinning.Store(0)
		proc.go#L3053: 	lock(&sched.lock)
		proc.go#L3054: 	if sched.gcwaiting.Load() {
		proc.go#L3057: 		sched.stopwait--
		proc.go#L3058: 		if sched.stopwait == 0 {
		proc.go#L3059: 			notewakeup(&sched.stopnote)
		proc.go#L3061: 		unlock(&sched.lock)
		proc.go#L3065: 		sched.safePointFn(pp)
		proc.go#L3066: 		sched.safePointWait--
		proc.go#L3067: 		if sched.safePointWait == 0 {
		proc.go#L3068: 			notewakeup(&sched.safePointNote)
		proc.go#L3071: 	if sched.runqsize != 0 {
		proc.go#L3072: 		unlock(&sched.lock)
		proc.go#L3078: 	if sched.npidle.Load() == gomaxprocs-1 && sched.lastpoll.Load() != 0 {
		proc.go#L3079: 		unlock(&sched.lock)
		proc.go#L3088: 	unlock(&sched.lock)
		proc.go#L3111: 	if sched.nmspinning.Load() != 0 || !sched.nmspinning.CompareAndSwap(0, 1) {
		proc.go#L3123: 	lock(&sched.lock)
		proc.go#L3126: 		if sched.nmspinning.Add(-1) < 0 {
		proc.go#L3129: 		unlock(&sched.lock)
		proc.go#L3137: 	unlock(&sched.lock)
		proc.go#L3195: 	if !sched.gcwaiting.Load() {
		proc.go#L3202: 		if sched.nmspinning.Add(-1) < 0 {
		proc.go#L3207: 	lock(&sched.lock)
		proc.go#L3210: 	sched.stopwait--
		proc.go#L3211: 	if sched.stopwait == 0 {
		proc.go#L3212: 		notewakeup(&sched.stopnote)
		proc.go#L3214: 	unlock(&sched.lock)
		proc.go#L3250: 	hz := sched.profilehz
		proc.go#L3277: 	if sched.gcwaiting.Load() {
		proc.go#L3317: 	if pp.schedtick%61 == 0 && sched.runqsize > 0 {
		proc.go#L3318: 		lock(&sched.lock)
		proc.go#L3320: 		unlock(&sched.lock)
		proc.go#L3342: 	if sched.runqsize != 0 {
		proc.go#L3343: 		lock(&sched.lock)
		proc.go#L3345: 		unlock(&sched.lock)
		proc.go#L3358: 	if netpollinited() && netpollAnyWaiters() && sched.lastpoll.Load() != 0 {
		proc.go#L3378: 	if mp.spinning || 2*sched.nmspinning.Load() < gomaxprocs-sched.npidle.Load() {
		proc.go#L3451: 	lock(&sched.lock)
		proc.go#L3452: 	if sched.gcwaiting.Load() || pp.runSafePointFn != 0 {
		proc.go#L3453: 		unlock(&sched.lock)
		proc.go#L3456: 	if sched.runqsize != 0 {
		proc.go#L3458: 		unlock(&sched.lock)
		proc.go#L3461: 	if !mp.spinning && sched.needspinning.Load() == 1 {
		proc.go#L3464: 		unlock(&sched.lock)
		proc.go#L3471: 	unlock(&sched.lock)
		proc.go#L3512: 		if sched.nmspinning.Add(-1) < 0 {
		proc.go#L3527: 		lock(&sched.lock)
		proc.go#L3528: 		if sched.runqsize != 0 {
		proc.go#L3535: 				unlock(&sched.lock)
		proc.go#L3541: 		unlock(&sched.lock)
		proc.go#L3577: 	if netpollinited() && (netpollAnyWaiters() || pollUntil != 0) && sched.lastpoll.Swap(0) != 0 {
		proc.go#L3578: 		sched.pollUntil.Store(pollUntil)
		proc.go#L3602: 		sched.pollUntil.Store(0)
		proc.go#L3603: 		sched.lastpoll.Store(now)
		proc.go#L3610: 		lock(&sched.lock)
		proc.go#L3612: 		unlock(&sched.lock)
		proc.go#L3636: 		pollerPollUntil := sched.pollUntil.Load()
		proc.go#L3650: 	if sched.runqsize != 0 {
		proc.go#L3657: 	if netpollinited() && netpollAnyWaiters() && sched.lastpoll.Load() != 0 {
		proc.go#L3683: 			if sched.gcwaiting.Load() {
		proc.go#L3750: 			lock(&sched.lock)
		proc.go#L3754: 				unlock(&sched.lock)
		proc.go#L3757: 			unlock(&sched.lock)
		proc.go#L3817: 	lock(&sched.lock)
		proc.go#L3820: 		unlock(&sched.lock)
		proc.go#L3827: 		unlock(&sched.lock)
		proc.go#L3834: 		unlock(&sched.lock)
		proc.go#L3839: 	unlock(&sched.lock)
		proc.go#L3848: 	if sched.lastpoll.Load() == 0 {
		proc.go#L3853: 		pollerPollUntil := sched.pollUntil.Load()
		proc.go#L3872: 	nmspinning := sched.nmspinning.Add(-1)
		proc.go#L3922: 			lock(&sched.lock)
		proc.go#L3926: 				unlock(&sched.lock)
		proc.go#L3932: 			unlock(&sched.lock)
		proc.go#L3939: 		lock(&sched.lock)
		proc.go#L3941: 		unlock(&sched.lock)
		proc.go#L3946: 	npidle := int(sched.npidle.Load())
		proc.go#L3956: 		lock(&sched.lock)
		proc.go#L3958: 		unlock(&sched.lock)
		proc.go#L4035: 	if sched.disable.user && !schedEnabled(gp) {
		proc.go#L4039: 		lock(&sched.lock)
		proc.go#L4043: 			unlock(&sched.lock)
		proc.go#L4045: 			sched.disable.runnable.pushBack(gp)
		proc.go#L4046: 			sched.disable.n++
		proc.go#L4047: 			unlock(&sched.lock)
		proc.go#L4147: 	lock(&sched.lock)
		proc.go#L4149: 	unlock(&sched.lock)
		proc.go#L4297: 		sched.ngsys.Add(-1)
		proc.go#L4459: 	if sched.sysmonwait.Load() {
		proc.go#L4476: 	if sched.gcwaiting.Load() {
		proc.go#L4508: 	lock(&sched.lock)
		proc.go#L4509: 	if sched.sysmonwait.Load() {
		proc.go#L4510: 		sched.sysmonwait.Store(false)
		proc.go#L4511: 		notewakeup(&sched.sysmonnote)
		proc.go#L4513: 	unlock(&sched.lock)
		proc.go#L4520: 	lock(&sched.lock)
		proc.go#L4522: 	if sched.stopwait > 0 && atomic.Cas(&pp.status, _Psyscall, _Pgcstop) {
		proc.go#L4538: 		if sched.stopwait--; sched.stopwait == 0 {
		proc.go#L4539: 			notewakeup(&sched.stopnote)
		proc.go#L4544: 	unlock(&sched.lock)
		proc.go#L4697: 		if sched.disable.user && !schedEnabled(gp) {
		proc.go#L4724: 	if sched.stopwait == freezeStopWait {
		proc.go#L4744: 	if sched.pidle != 0 {
		proc.go#L4780: 	lock(&sched.lock)
		proc.go#L4782: 	if pp != nil && sched.sysmonwait.Load() {
		proc.go#L4783: 		sched.sysmonwait.Store(false)
		proc.go#L4784: 		notewakeup(&sched.sysmonnote)
		proc.go#L4786: 	unlock(&sched.lock)
		proc.go#L4815: 	lock(&sched.lock)
		proc.go#L4830: 	} else if sched.sysmonwait.Load() {
		proc.go#L4831: 		sched.sysmonwait.Store(false)
		proc.go#L4832: 		notewakeup(&sched.sysmonnote)
		proc.go#L4834: 	unlock(&sched.lock)
		proc.go#L5056: 		sched.ngsys.Add(1)
		proc.go#L5090: 		pp.goidcache = sched.goidgen.Add(_GoidCacheBatch)
		proc.go#L5186: 		lock(&sched.gFree.lock)
		proc.go#L5187: 		sched.gFree.noStack.pushAll(noStackQ)
		proc.go#L5188: 		sched.gFree.stack.pushAll(stackQ)
		proc.go#L5189: 		sched.gFree.n += inc
		proc.go#L5190: 		unlock(&sched.gFree.lock)
		proc.go#L5198: 	if pp.gFree.empty() && (!sched.gFree.stack.empty() || !sched.gFree.noStack.empty()) {
		proc.go#L5199: 		lock(&sched.gFree.lock)
		proc.go#L5203: 			gp := sched.gFree.stack.pop()
		proc.go#L5205: 				gp = sched.gFree.noStack.pop()
		proc.go#L5210: 			sched.gFree.n--
		proc.go#L5214: 		unlock(&sched.gFree.lock)
		proc.go#L5270: 	lock(&sched.gFree.lock)
		proc.go#L5271: 	sched.gFree.noStack.pushAll(noStackQ)
		proc.go#L5272: 	sched.gFree.stack.pushAll(stackQ)
		proc.go#L5273: 	sched.gFree.n += inc
		proc.go#L5274: 	unlock(&sched.gFree.lock)
		proc.go#L5389: 	n := int32(atomic.Loaduintptr(&allglen)) - sched.gFree.n - sched.ngsys.Load()
		proc.go#L5403: 	return int32(sched.mnext - sched.nmfreed)
		proc.go#L5571: 	lock(&sched.lock)
		proc.go#L5572: 	sched.profilehz = hz
		proc.go#L5573: 	unlock(&sched.lock)
		proc.go#L5625: 	assertLockHeld(&sched.lock)
		proc.go#L5703: 	assertLockHeld(&sched.lock)
		proc.go#L5718: 	if sched.procresizetime != 0 {
		proc.go#L5719: 		sched.totaltime += int64(old) * (now - sched.procresizetime)
		proc.go#L5721: 	sched.procresizetime = now
		proc.go#L5930: 	lock(&sched.lock)
		proc.go#L5931: 	sched.nmidlelocked += v
		proc.go#L5935: 	unlock(&sched.lock)
		proc.go#L5942: 	assertLockHeld(&sched.lock)
		proc.go#L5968: 	run := mcount() - sched.nmidle - sched.nmidlelocked - sched.nmsys
		proc.go#L5973: 		print("runtime: checkdead: nmidle=", sched.nmidle, " nmidlelocked=", sched.nmidlelocked, " mcount=", mcount(), " nmsys=", sched.nmsys, "\n")
		proc.go#L5974: 		unlock(&sched.lock)
		proc.go#L5992: 			unlock(&sched.lock)
		proc.go#L5997: 		unlock(&sched.lock) // unlock so that GODEBUG=scheddetail=1 doesn't hang
		proc.go#L6011: 				unlock(&sched.lock)
		proc.go#L6018: 				unlock(&sched.lock)
		proc.go#L6024: 			sched.nmspinning.Add(1)
		proc.go#L6039: 	unlock(&sched.lock) // unlock so that GODEBUG=scheddetail=1 doesn't hang
		proc.go#L6063: 	lock(&sched.lock)
		proc.go#L6064: 	sched.nmsys++
		proc.go#L6066: 	unlock(&sched.lock)
		proc.go#L6099: 		if debug.schedtrace <= 0 && (sched.gcwaiting.Load() || sched.npidle.Load() == gomaxprocs) {
		proc.go#L6100: 			lock(&sched.lock)
		proc.go#L6101: 			if sched.gcwaiting.Load() || sched.npidle.Load() == gomaxprocs {
		proc.go#L6105: 					sched.sysmonwait.Store(true)
		proc.go#L6106: 					unlock(&sched.lock)
		proc.go#L6117: 					syscallWake = notetsleep(&sched.sysmonnote, sleep)
		proc.go#L6121: 					lock(&sched.lock)
		proc.go#L6122: 					sched.sysmonwait.Store(false)
		proc.go#L6123: 					noteclear(&sched.sysmonnote)
		proc.go#L6130: 			unlock(&sched.lock)
		proc.go#L6133: 		lock(&sched.sysmonlock)
		proc.go#L6143: 		lastpoll := sched.lastpoll.Load()
		proc.go#L6145: 			sched.lastpoll.CompareAndSwap(lastpoll, now)
		proc.go#L6205: 		unlock(&sched.sysmonlock)
		proc.go#L6265: 			if runqempty(pp) && sched.nmspinning.Load()+sched.npidle.Load() > 0 && pd.syscallwhen+10*1000*1000 > now {
		proc.go#L6358: 	lock(&sched.lock)
		proc.go#L6359: 	print("SCHED ", (now-starttime)/1e6, "ms: gomaxprocs=", gomaxprocs, " idleprocs=", sched.npidle.Load(), " threads=", mcount(), " spinningthreads=", sched.nmspinning.Load(), " needspinning=", sched.needspinning.Load(), " idlethreads=", sched.nmidle, " runqueue=", sched.runqsize)
		proc.go#L6361: 		print(" gcwaiting=", sched.gcwaiting.Load(), " nmidlelocked=", sched.nmidlelocked, " stopwait=", sched.stopwait, " sysmonwait=", sched.sysmonwait.Load(), "\n")
		proc.go#L6393: 		unlock(&sched.lock)
		proc.go#L6435: 	unlock(&sched.lock)
		proc.go#L6444: 	lock(&sched.lock)
		proc.go#L6445: 	if sched.disable.user == !enable {
		proc.go#L6446: 		unlock(&sched.lock)
		proc.go#L6449: 	sched.disable.user = !enable
		proc.go#L6451: 		n := sched.disable.n
		proc.go#L6452: 		sched.disable.n = 0
		proc.go#L6453: 		globrunqputbatch(&sched.disable.runnable, n)
		proc.go#L6454: 		unlock(&sched.lock)
		proc.go#L6455: 		for ; n != 0 && sched.npidle.Load() != 0; n-- {
		proc.go#L6459: 		unlock(&sched.lock)
		proc.go#L6468: 	assertLockHeld(&sched.lock)
		proc.go#L6470: 	if sched.disable.user {
		proc.go#L6482: 	assertLockHeld(&sched.lock)
		proc.go#L6484: 	mp.schedlink = sched.midle
		proc.go#L6485: 	sched.midle.set(mp)
		proc.go#L6486: 	sched.nmidle++
		proc.go#L6496: 	assertLockHeld(&sched.lock)
		proc.go#L6498: 	mp := sched.midle.ptr()
		proc.go#L6500: 		sched.midle = mp.schedlink
		proc.go#L6501: 		sched.nmidle--
		proc.go#L6512: 	assertLockHeld(&sched.lock)
		proc.go#L6514: 	sched.runq.pushBack(gp)
		proc.go#L6515: 	sched.runqsize++
		proc.go#L6524: 	assertLockHeld(&sched.lock)
		proc.go#L6526: 	sched.runq.push(gp)
		proc.go#L6527: 	sched.runqsize++
		proc.go#L6537: 	assertLockHeld(&sched.lock)
		proc.go#L6539: 	sched.runq.pushBackAll(*batch)
		proc.go#L6540: 	sched.runqsize += n
		proc.go#L6547: 	assertLockHeld(&sched.lock)
		proc.go#L6549: 	if sched.runqsize == 0 {
		proc.go#L6553: 	n := sched.runqsize/gomaxprocs + 1
		proc.go#L6554: 	if n > sched.runqsize {
		proc.go#L6555: 		n = sched.runqsize
		proc.go#L6564: 	sched.runqsize -= n
		proc.go#L6566: 	gp := sched.runq.pop()
		proc.go#L6569: 		gp1 := sched.runq.pop()
		proc.go#L6611: 	assertLockHeld(&sched.lock)
		proc.go#L6623: 	pp.link = sched.pidle
		proc.go#L6624: 	sched.pidle.set(pp)
		proc.go#L6625: 	sched.npidle.Add(1)
		proc.go#L6640: 	assertLockHeld(&sched.lock)
		proc.go#L6642: 	pp := sched.pidle.ptr()
		proc.go#L6650: 		sched.pidle = pp.link
		proc.go#L6651: 		sched.npidle.Add(-1)
		proc.go#L6668: 	assertLockHeld(&sched.lock)
		proc.go#L6675: 		sched.needspinning.Store(1)
		proc.go#L6794: 	lock(&sched.lock)
		proc.go#L6796: 	unlock(&sched.lock)
		proc.go#L6828: 		lock(&sched.lock)
		proc.go#L6830: 		unlock(&sched.lock)
		proc.go#L7081: 	lock(&sched.lock)
		proc.go#L7082: 	out = int(sched.maxmcount)
		proc.go#L7084: 		sched.maxmcount = 0x7fffffff
		proc.go#L7086: 		sched.maxmcount = int32(in)
		proc.go#L7089: 	unlock(&sched.lock)
		proc.go#L7174: 	if i >= active_spin || ncpu <= 1 || gomaxprocs <= sched.npidle.Load()+sched.nmspinning.Load()+1 {
		runtime2.go#L1184: 	sched      schedt
		trace.go#L228: 	lock(&sched.sysmonlock)
		trace.go#L305: 	unlock(&sched.sysmonlock)
		trace.go#L490: 	lock(&sched.lock)
		trace.go#L495: 	for mp := sched.freem; mp != nil; mp = mp.freelink {
		trace.go#L499: 	unlock(&sched.lock)
		traceruntime.go#L710: 	assertLockHeld(&sched.lock)